/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package assisisw.smartcal.entitysubsystem;

import java.io.Serializable;
import java.util.Date;
import javax.ejb.Local;

/**
 *
 * @author Francesco
 */
@Local
public interface IEventController extends Serializable 
{
    
    // Instance Methods
    
    /**
     * @param date
     * @return
     */
    public Iterable < Event > findByDate ( Date date ) ;
    
    /**
     * @param event
     * @param owningCalendar 
     */
    public void insert ( Event event , Calendar owningCalendar ) ;
    
    /**
     * @param event
     */
    public void update ( Event event ) ;
    
    /**
     * @param event
     * @param recipient 
     */
    public void invite ( Event event , User recipient );
    
    /**
     * @param event 
     * @param recipient 
     */
    public void disInvite ( Event event , User recipient ) ;
    
    /**
     * @param event 
     */
    public void delete ( Event event ) ;
    
}
